#ifndef _CMOB_H
#define _CMOB_H

#include "CCharacter.h"
#include "CPlayer.h"

class CMob;
class CPlayer;
typedef bool (*ACTIVE) (CMob* pMob , LPVOID pContext);

class CMob : public CCharacter
{
public:
	//--------------------------------------------//
	//	Constructor and Destructor for this class //
	//--------------------------------------------//
	CMob();
	CMob( ULONG ID , float Xpos , float Ypos , float deep , float XVelocity , float YVelocity , int width , int height );
	~CMob();



	//--------------------------------//
	//	Public methods for this class //
	//--------------------------------//
	void				SetID				( ULONG id );
	void				SetMovementRange	( float min , float max );
	void				SetSeekRange		( float min , float max );

	ULONG				GetID				( );
	void				GetSeekRange		( RANGE *pOut );
	void				GetMovementRange	( RANGE *pOut );

	virtual void		Update				( float deltaTime ){ };
	virtual void		Active				( ){ };
	virtual void		Hurt				( CCharacter *pCharacter ){ };
	virtual void		Init				( LPCTSTR DefineFile ) { };

private:
	//-----------------------------------//
	//	Private variables for this class //
	//-----------------------------------//
	ULONG				m_ID;					
	RANGE				m_MovementRange;		// Range that this mobs can move
	RANGE				m_SeekRange;			// Range that this mobs can see player
};

#endif